<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\View;
use Symfony\Component\HttpFoundation\Response;

class HelloController extends Controller
{
    //

    public function hello(Request $request, $message, Response $response)
    {

//        $name = $request->get("name");
//        dd($name);

//        没有传入 name时，返回默认的空字符串, 如果传入name没有赋值，则返回null
//        $name = $request->input("name", '');
//        dd($name);


//        dd($message);

//        dd($request);


        $path = $request->path();

        $pathinfo = $request->getPathInfo();

        $ips = $request->getClientIps();
//        dump($pathinfo);

//        dd($path, $pathinfo, $ips);

        // 可以获取get参数、post form参数、json参数
        $all = $request->all();
//        return $all;

//        $input = $request->input();
//        return json_encode($input);


//        if ($request->has('name')) {
//            $ret = "1";
//        } else {
//            $ret = "2";
//        }
//
//        if ($request->filled('name')) { // 填充值了
//            return $request->input('name');
//        }
//
//        return $ret;
        return 'ok';
    }

    public function hello2()
    {

        $content = "内容xxx";

//        $headers = ['x-header-one'=> 'one'];
//        return response('hello', 200, $headers);


        return response($content)
            ->header('Content-Type', 'text/html; charset=UTF-8')
            ->header('X-Header-One', 'Header Value')
            ->header('X-Header-Two', 'Header Value')
            ->cookie('name', 'laravel')
            ->cookie('laravel', '001');

//        return response($content)
//            ->withHeaders([
//                'Content-Type' => 'text/html; charset=UTF-8',
//                'X-Header-One' => 'Header Value',
//                'X-Header-Two' => 'Header Value',
//            ]);
    }

    public function hello3()
    {

        // 判断视图是否存在.
        if (View::exists('admin.profile_')) {
            $state = true;
        } else {
            $state = false;
        }

        return view('admin.profile', ['name' => 'Laravel.', 'state' => $state])
            ->with('age', 22);
    }

}
